package chen.yi.component.mysql.po;

import chen.yi.component.mysql.constant.Collation;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;

/**
 * 表创建
 * @author huat
 **/
@Setter
@Getter
@ToString
public class TablePO {

    /**
     * 表名
     */
    private String name;
    /**
     * 原表名，修改表信息时候使用
     */
    private String oldTableName;
    /**
     * 字符集
     */
    private String charset;
    /**
     * 表引擎
     */
    private String engine;
    /**
     * 排序方式
     */
    private String collation= Collation.AI_CI;
    /**
     * 大小写敏感
     */
    private String collate;
    /**
     * 表注释
     */
    private String comment;
    /**
     * 字段
     */
    private List<FieldPO> fields;
    /**
     * 索引
     */
    private List<IndexPO> indexes;
    /**
     * 外键
     */
    private List<ForeignKeyPO> foreignKeys;

    /**
     * 是否区分大小写
     * @return Y不区分 N区分
     */
    public String getCollate() {
        return collation.equalsIgnoreCase(Collation.AI_CI)?"N":"Y";
    }

    public String getOldTableName() {
        return name;
    }
}
